The modern communications era has brought about a tremendous expansion of wireline and wireless networks. Computer networks, television networks, and telephony networks are experiencing an unprecedented technological expansion, fueled by consumer demand. Wireless and mobile networking technologies have addressed related consumer demands, while providing more flexibility and immediacy of information transfer.
Current and future networking technologies continue to facilitate ease of information transfer and convenience to users. One area in which there is a demand to increase ease of information transfer relates to the delivery of services to a user of a mobile terminal. The services may be in the form of a particular media or communication application desired by the user, such as a music player, a game player, an electronic book, short messages, email, etc. The services may also be in the form of interactive applications in which the user may respond to a network device in order to perform a task or achieve a goal. The services may be provided from a network server or other network device, or even from the mobile terminal such as, for example, a mobile telephone, a mobile television, a mobile gaming system, etc.
In certain applications, it is necessary for the user to enter data into forms. A particular form markup language, known as XForms, is an example of a next generation form markup, which replaces traditional forms in, for example, XHTML 2.0. XForms can also be used with other markups such as synchronized media integration language (SMIL). XForms provide certain advantages such as device independency, separation of data from presentation, and compatibility with extensible markup language (XML) infrastructure. As such, XForms may be useful for implementation in a form engine.
In certain environments, such as an enterprise-oriented mobile service platform, it may be desirable for business logic in the mobile client to be transparently upgradeable (e.g., without user involvement). In other words, it may be desirable for upgrades to be done via reconfiguration instead of via a software upgrade since software upgrades may be costly, inconvenient for end users and/or prone to failure. In some cases, business-oriented mobile services may be form-centric (e.g., rather than media-centric), and thus a form engine may be desirable for use in reconfiguration. In this regard, for example, when a business document is received by the mobile client, the form engine may be used to run a form using the document as an input parameter. However, in addition to a form engine, a script engine may also be useful for certain types of processing that may be encountered. For example, a form engine may handle interactive business logic (e.g., for a product order document, the form engine may be used to present the user with a form that allows the user to change product pricing), but may not be useful for other functions such as automatic processes (e.g., automatically checking to determine whether product prices are within a certain range and taking action if the prices are not within the range). In such cases, a script engine may be useful.
Accordingly, some form engines may include a separate script engine to handle form logic implemented with script. A web browser may be an example of such a form engine. In this regard, a (HyperText Markup Language) HTML form may use a JavaScript to implement form logic. However, a full web browser with JavaScript support may be a relatively heavy component that may be difficult to implement in mobile Java (J2ME). Thus, the code footprint for such an implementation may be relatively large.
Accordingly, it may be desirable to provide an improved mechanism for employing a form engine along with a script engine.